package fiesta;
 
import java.util.ArrayList;
import java.util.Collection;

public class Carpa {
	private boolean musica;
	private double capacidadJarra;
	private int maxPersonas;
	private int cantActPersonas;
	private Collection<Persona> ingresados;
	private MarcaBuilder marca=null;
	
	public String marcaVendida(){
		return this.dameCerveza().marcaCerveza();
	}
	
	public Jarra dameCerveza(){
		return new Jarra(this.marca,this.capacidadJarra);
	}
	
	public double graduacionDeAlcohol(){
		return this.dameCerveza().cuantosLitrosAportasDeAlcohol();
	}
	
	public double tamanioDeJarra(){
		return this.capacidadJarra;
	}
	
	public String paisDeLaBirra(){
		return this.dameCerveza().origenCerveza();
	}
	
	public boolean tenesMusica(){
		return musica;
	}
	
	public void ingresarPersona(Persona alguien){
		if (this.puedeIngresar(alguien)){
			this.ingresados.add(alguien);
			this.cantActPersonas++;
			alguien.tomaBirra(this.dameCerveza());
		}else
			System.out.println("No puede ingresar a la carpa");
	}
	
	public boolean cumpleCondicionParaIngresar(Persona alguien){
		return ((this.cantActPersonas < this.maxPersonas) &&
				(!alguien.estasEbrio()));
	}
	
	public boolean puedeIngresar(Persona alguien){
		return (this.cumpleCondicionParaIngresar(alguien) &&
				((this.cantActPersonas+1)<=this.maxPersonas));
	}	
	
	public Carpa(MarcaBuilder marca,double tamanio,int maxpersonas,boolean musica){
		this.marca=marca;
		this.capacidadJarra = tamanio;
		this.maxPersonas = maxpersonas;
		this.musica = musica;
		this.ingresados = new ArrayList<Persona>();
	}
}
